package setup;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ResourceBundle;
import java.util.Scanner;

import adapter.Adapter;

public class FileLoad {

	private int[][] fieldPrices, fieldRent;
	private String[] fieldTitle, fieldSubtitle, fieldDesc, luckText;
	private Adapter a;
	private ResourceBundle msg;

	public FileLoad(){
		a = new Adapter();
		msg = a.getBundle();
		fieldPrices = new int[40][4];
		fieldRent = new int[40][6];
		fieldTitle = new String[40];
		fieldSubtitle = new String[40];
		fieldDesc = new String[40];
		luckText = new String[28];
	}

	/**
	 * Indlæser pris og pant værdi fra en text-fil
	 */
	public void readFieldPrice(){
		File fieldpricedata = new File("files/fieldPrices.txt");
		try {
			Scanner scan = new Scanner(fieldpricedata);
			int n = 0,m = 0;
			while(scan.hasNextInt() == true){
				while(n<4){
					fieldPrices[m][n] = scan.nextInt();
					n++;
				}
				n=0;
				m++;
			}
			scan.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * Returnerer array med felt pris og pant.
	 * @return Array med felt pris og pant
	 */
	public int[][] getFieldPrices(){
		return fieldPrices;
	}

	/**
	 * Indlæser pris og pant værdi fra en text-fil
	 */
	public void readFieldRent(){
		File fieldrentdata = new File("files/fieldRent.txt");
		try {
			Scanner scan = new Scanner(fieldrentdata);
			int n = 0,m = 0;
			while(scan.hasNextInt() == true){
				while(n<6){
					fieldRent[m][n] = scan.nextInt();
					n++;
				}
				n=0;
				m++;
			}
			scan.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * Returnerer array med felt leje.
	 * @return Array med felt leje
	 */
	public int[][] getFieldRent(){
		return fieldRent;
	}

	/**
	 * Læser felternes titler og returnerer disse i et array af Strings
	 * @return Pegepind til Array af Strings indeholdende felt-titler
	 */
	public String[] getFieldTitles(){
		for (int t=0; t < 40; t++){
			fieldTitle[t] = msg.getString("Field_Title" + t);
		}
		return fieldTitle;
	}

	/**
	 * Læser felternes subtitler og returnerer disse i et array af Strings
	 * @return Pegepind til Array af Strings indeholdende felt-subtitler
	 */
	public String[] getFieldSubtitles(){
		for (int t=0; t < 40; t++){
			fieldSubtitle[t] = msg.getString("Field_Subtitle" + t);
			System.out.println();
		}
		return fieldSubtitle;
	}

	/**
	 * Læser felternes subtitler og returnerer disse i et array af Strings
	 * @return Pegepind til Array af Strings indeholdende felt-subtitler
	 */
	public String[] getFieldDesc(){
		for (int t=0; t < 40; t++){
			fieldDesc[t] = msg.getString("Field_Desc" + t);
		}
		return fieldDesc;
	}

	/**
	 * Læser felternes subtitler og returnerer disse i et array af Strings
	 * @return Pegepind til Array af Strings indeholdende felt-subtitler
	 */
	public String[] getLuckText(){
		for (int t=0; t < 5; t++){
			luckText[t] = msg.getString("Luck" + t);
		}
		return luckText;
	}

}
